package com.ruoyi.system.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ruoyi.common.core.domain.entity.SysOrder;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 订单信息表 数据层
 */
public interface SysOrderMapper {

    IPage<SysOrder> selectOrderList(IPage<SysOrder> page, @Param("order") SysOrder order);

    /**
     * 查询订单列表
     *
     * @param order 订单信息
     * @return 订单列表
     */
    public List<SysOrder> selectOrderList(@Param("order") SysOrder order);

    /**
     * 查询订单详情
     *
     * @param orderId 订单ID
     * @return 订单详情
     */
    public SysOrder selectOrderById(Long orderId);

    /**
     * 新增订单
     *
     * @param order 订单
     * @return 结果
     */
    public int insertOrder(SysOrder order);

    /**
     * 修改订单
     *
     * @param order 订单
     * @return 结果
     */
    public int updateOrder(SysOrder order);

    /**
     * 删除订单
     *
     * @param orderId 订单ID
     * @return 结果
     */
    public int deleteOrderById(Long orderId);

    /**
     * 批量删除订单
     *
     * @param orderIds 订单ID数组
     * @return 结果
     */
    public int deleteOrderByIds(Long[] orderIds);

    /**
     * 根据订单号查询订单
     *
     * @param orderNo 订单号
     * @return 订单
     */
    public SysOrder selectOrderByNo(String orderNo);

}